﻿//-----------------------------------------------------------------------
// <copyright file="ComplexityStrategy.cs" company="tuliprules.org">
//     Copyright (c) 2010 tuplelister, tuliprules.org.
// </copyright>
// <summary>This is the ComplexityStrategy class.</summary>
//-----------------------------------------------------------------------

namespace Tulip.Engine.ConflictResolution
{
    /// <summary>
    /// Complexity conflict resolution strategy.
    /// </summary>
    /// <remarks>
    /// Among productions of the same salience, newly activated productions are placed above 
    /// all activations of rules with equal or lower specificity. 
    /// </remarks>
    public class ComplexityStrategy : ConflictResolutionStrategy
    {
        /// <summary>
        /// Factory method returns a new agenda.
        /// </summary>
        /// <returns>A new agenda.</returns>
        public override Agenda NewAgenda()
        {
            // TODO: return agenda here
            return null;
        }

        /// <summary>
        /// Factory method creates a new agenda list.
        /// </summary>
        /// <returns>A new agenda list.</returns>
        public override IAgendaList CreateAgendaList()
        {
            return null;
        }
    }
}

